var jweixin = require('jweixin-module');
export default {
	//判断是否在微信中    
	isWechat: function() {
		var ua = window.navigator.userAgent.toLowerCase();
		if (ua.match(/micromessenger/i) == 'micromessenger') {
			// console.log('是微信客户端')  
			return true;
		} else {
			//console.log('不是微信客户端')  
			return false;
		}
	},
	initJssdk: function(shareData, shareContent, callback) {
		if (callback) {
			callback(shareContent);
		}
	},
	// 分享
	share: function(data,linkurl,waresid) {
		
		//每次都需要重新初始化配置，才可以进行分享 
		let iuid = uni.getStorageSync('uid');
		jweixin.config({
		  debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
		  appId: data.appId, // 必填，公众号的唯一标识
		  timestamp: data.timestamp, // 必填，生成签名的时间戳
		  nonceStr: data.nonceStr, // 必填，生成签名的随机串
		  signature: data.signature,// 必填，签名
		  jsApiList: ['onMenuShareAppMessage','updateAppMessageShareData'] // 必填，需要使用的JS接口列表
		});
		jweixin.ready(function() {
			var shareData = {
				title: data.title,
				desc: data.desc,
				link: 'http://shikehui.fengzhishike.cn/shikehui/?share_id='+iuid+'&&waresid='+waresid+linkurl,
				imgUrl: data.imgUrl,
				success: function(res) {
					console.log('设置成功');
				},
				fail: function(res) {
					console.log('设置失败');
				}
			};
			//分享给朋友接口  
			jweixin.onMenuShareAppMessage(shareData);
			jweixin.updateAppMessageShareData(shareData);
			
			
			//分享到朋友圈接口  
			// jweixin.onMenuShareTimeline(shareData);
			// jweixin.updateTimelineShareData(shareData);
		});
	},
	//微信支付  
	wxpay: function(data, callback) {
		if (!this.isWechat()) {
			return;
		}
		this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.chooseWXPay({
					timestamp: data.timeStamp, // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符  
					nonceStr: data.nonceStr, // 支付签名随机串，不长于 32 位  
					package: data.package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=\*\*\*）  
					signType: data.signType, // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'  
					paySign: data.paySign, // 支付签名  
					success: function(res) {
						callback(res)
					},
					fail: function(res) {
						callback(res)
					},
					complete: function(res) {
						console.log(res)
					}
				});
			});
		});
	},
	jsApiCall(data, callback_succ_func, callback_error_func) {
		//使用原生的，避免初始化appid问题  
		console.log('传过来的支付配置',data);
		WeixinJSBridge.invoke('getBrandWCPayRequest', {
			// packageValue
			
			appId: data['appId'],
			timeStamp: data['timeStamp'],
			nonceStr: data['nonceStr'], // 支付签名随机串，不长于 32 位  
			package: data['packageValue'], // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=\*\*\*）  
			signType: data['signType'], // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'  
			paySign: data['paySign'], // 支付签名  
		}, function(res) {
			var msg = res.err_msg ? res.err_msg : res.errMsg;
			//WeixinJSBridge.log(msg);  
			switch (msg) {
				case 'get_brand_wcpay_request:ok': //支付成功时  
					if (callback_succ_func) {
						callback_succ_func(res);
					}
					break;
				default: //支付失败时  
					WeixinJSBridge.log('支付失败!' + msg + ',请返回重试.');
					if (callback_error_func) {
						callback_error_func({
							msg: msg
						});
					}
					break;
			}
		})
	},
	payment: function(data, callback_succ_func, callback_error_func) {
		if (!this.isWechat()) {
			return;
		}
		if (typeof WeixinJSBridge == "undefined") {
			if (document.addEventListener) {
				document.addEventListener('WeixinJSBridgeReady', this.jsApiCall, false);
			} else if (document.attachEvent) {
				document.attachEvent('WeixinJSBridgeReady', this.jsApiCall);
				document.attachEvent('onWeixinJSBridgeReady', this.jsApiCall);
			}
		} else {
			this.jsApiCall(data, callback_succ_func, callback_error_func);
		}
	}
}
